package com.zenchn.service;


import com.zenchn.generic.GenericService;
import com.zenchn.model.TSysOauthToken;
import com.zenchn.model.TSysOauthTokenExample;

/**
 * 授权令牌 业务接口
 *
 * @author dingxinfa
 * @date 2020-04-16
 **/
public interface OauthTokenService extends GenericService<TSysOauthToken, String, TSysOauthTokenExample> {
	/**
	 * 通过客户端ID 及刷新令牌  获取 完整令牌信息
	 * @param clientId
	 * @param refreshToken
	 * @return
	 */
	TSysOauthToken refreshAuthentication(String clientId, String refreshToken);

	/**
	 * 通过 访问令牌  获取 完整令牌信息
	 * @param accessToken
	 * @return
	 */
	TSysOauthToken tokenAuthentication(String accessToken);

	/**
	 * 通过 访问令牌 删除 授权令牌信息
	 * @param accessToken
	 */
	void  deleteByAccessToken(String accessToken);

	/***
	 * 通过客户端ID 及用户ID  获取 完整令牌信息
	 * @param clientId
	 * @param accountId
	 * @return
	 */
	TSysOauthToken selectByClientIdAndAccountId(String clientId, String accountId);
}
